function enableGesture(ele) {
  if ("ontouchstart" in document) {
    ele.addEventListener("mousedown", () => {
      let move = (event) => {
        onMove(event)
      };
      let end = (event) => {
        onEnd(event)
        ele.removeEventListener("mousemove", move);
      };
      ele.addEventListener("mousemove", move);
      ele.addEventListener("mouseup", end, {
        once: true
      });
    })
  }
  ele.addEventListener("touchstart", (e) => {
    for (let touch of e.changedTouches) {
      onStart(touch)
    }
  })
  ele.addEventListener("touchmove", () => {
    for (let touch of e.changedTouches) {
      onMove(touch)
    }
  })
  ele.addEventListener("touchend", () => {

  })
  let onStart = (e) => {
    ele.dispatchEvent(Object.assign(new CustomEvent("start"), {
      clientX: e.clientX,
      clientY: e.clientY
    }))
  }
  let onMove = (event) => {
    ele.dispatchEvent(Object.assign(new CustomEvent("start"), {
      clientX: e.clientX,
      clientY: e.clientY
    }))
  }
  let onEnd = (event) => {

  }
}